VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "CPrincipal"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
'---------------------------------------------------------------------------------------
' Module    : CPrincipal
' DateTime  : 30/11/2011 12:08
' Author    :
' Purpose   : Clase Control Principal
'---------------------------------------------------------------------------------------
Option Explicit
Private lMesa As lMesa
Private lPedido As lPedido
Private lCategoria As lCategoria
Private lResumen As lResumen
Private lusuario As lusuario
Private lempleado As New lempleado
Private nperfil As Integer
Private lSalon As lSalon
Private lItemsEliminados As Collection

Public Sub abrirCambiarMesa()
Set frmCambiarMesa.listaMesasLibres = lMesa.getListaLibres
Set frmCambiarMesa.listaMesasOcupadas = lMesa.getListaOcupadas
frmCambiarMesa.Show 1
End Sub
Public Sub abrirLiberarMesa()
nperfil = bparametro.bUsuarioActivo.bperfil.ncodigo
If nperfil = UtilConstantes.PERFIL_ADMINISTRADOR Then
    Set frmLiberarMesa.listaMesasOcupadas = lMesa.getListaMesasxLiberar
    Else
    Set frmLiberarMesa.listaMesasOcupadas = lMesa.getListaOcupadas
End If
'Set frmLiberarMesa.listaMesasOcupadas = lMesa.getListaMesasxLiberar
frmLiberarMesa.Show 1
End Sub
Public Sub abrirReasignarMesa()
nperfil = bparametro.bUsuarioActivo.bperfil.ncodigo
If nperfil <> UtilConstantes.PERFIL_ADMINISTRADOR Then
    utilMensaje.muestraMensaje AutorizacionPerfilIncorrecto, UtilConstantes.ADMINISTRADOR
    Exit Sub
    End If
Set frmReasignarMesa.listaMesasOcupadas = lMesa.getListaOcupadas
frmReasignarMesa.Show 1
End Sub
Public Sub abrirReservarMesa()
nperfil = bparametro.bUsuarioActivo.bperfil.ncodigo
If nperfil <> UtilConstantes.PERFIL_ADMINISTRADOR Then
    utilMensaje.muestraMensaje AutorizacionPerfilIncorrecto, UtilConstantes.ADMINISTRADOR
    Exit Sub
    End If
Set frmReservaMesa.listaMesasLibres = lMesa.getListaLibres
frmReservaMesa.Show 1
End Sub

Public Sub listarMesas(bSalon As bSalon)
 Set frmTablero.lista = lSalon.getListaMesas(bSalon)
End Sub

Public Sub abrirResumen()
nperfil = bparametro.bUsuarioActivo.bperfil.ncodigo
If nperfil = UtilConstantes.PERFIL_ADMINISTRADOR Then
    'utilMensaje.muestraMensaje AutorizacionPerfilIncorrecto, UtilConstantes.ADMINISTRADOR
    Exit Sub
    End If
Dim bResumen  As New bResumen
Dim result As Integer
Set bResumen.bCompania = bparametro.bCompaniadPorDefecto
Set bResumen.busuario = bparametro.bUsuarioActivo
bResumen.ndiaTrabajo = bparametro.ndiaTrabajo
result = lResumen.getBean(bResumen)
Set frmResumen.bean = bResumen
frmResumen.Show 1
If result = UtilConstantes.OPT_ERROR_ENCONTRADO Then
    utilMensaje.muestraMensaje errorEncontrado
End If
End Sub
Public Sub liberarMesa(bMesa As bMesa)
    Dim bpedido As bpedido
    Dim result As Integer
    Set bpedido = lPedido.getPedidoPorMesa(bMesa)
    If bpedido Is Nothing Then
        utilMensaje.muestraMensaje errorEncontrado
        Exit Sub
    End If
    result = lPedido.eliminarPedido(bpedido)
    If result = UtilConstantes.OPT_PEDIDO_NO_ELIMINABLE Then
        utilMensaje.muestraMensaje PedidoNoEliminable
        Exit Sub
    End If
    If result = UtilConstantes.OPT_ERROR_ENCONTRADO Then
        utilMensaje.muestraMensaje errorEncontrado
        Exit Sub
    End If
    Set frmTablero.lista = lSalon.getListaMesas(frmTablero.bSalon)
End Sub
Public Sub abrirMesa(bMesa As bMesa)
Dim bean As bpedido
Dim error As Integer
Dim bpaginador As New bpaginador
If bMesa.bEstado.ncodigo = UtilConstantes.ESTADO_MESA_RESERVADA Then
    Exit Sub
End If
If bparametro.sTipoAplicacion = UtilConstantes.STR_TIPO_APP_MOZO Then
    If bMesa.bEstado.ncodigo = UtilConstantes.ESTADO_MESA_ENCAJA Then
        Exit Sub
    End If
End If
If Not bMesa.bEstado.ncodigo = UtilConstantes.ESTADO_MESA_LIBRE Then
    Set bean = lPedido.getPedidoPorMesa(bMesa)
End If
If bean Is Nothing Then
    Set bean = New bpedido
    Set bean.busuario = bparametro.bUsuarioActivo
    Set bean.bCompania = bparametro.bCompaniadPorDefecto
    Set bean.bMesa = bMesa
    bean.bTipoDocumento.ncodigo = UtilConstantes.TIPO_DOCUMENTO_BOLETA
    bean.sSerDocumento = bparametro.bCompaniadPorDefecto.bPuntoVenta.sSerie
    lMesa.setOcupada bMesa
    bean.bEstado.ncodigo = UtilConstantes.ESTADO_PEDIDO_PENDIENTE
    bean.nTipCambio = bparametro.nTipoCambio
    bean.bTipoDocumento.ncodigo = UtilConstantes.TIPO_DOCUMENTO_BOLETA
    lPedido.guardar bean
End If
Set frmPedido.bean = bean
frmPedido.Show 1
Set frmTablero.lista = lSalon.getListaMesas(frmTablero.bSalon)
End Sub
Public Sub abrirBuscarPedido()
    nperfil = bparametro.bUsuarioActivo.bperfil.ncodigo
    If nperfil <> UtilConstantes.PERFIL_ADMINISTRADOR Then
    utilMensaje.muestraMensaje AutorizacionPerfilIncorrecto, UtilConstantes.ADMINISTRADOR
    Exit Sub
    End If
    frmBuscarPedido.Show 1
End Sub
Public Function buscarPedidoPorMesa(bean As bMesa) As bpedido
Set buscarPedidoPorMesa = lPedido.getPedidoPorMesa(bean)
End Function
Public Sub abrirConfiguracion()
nperfil = bparametro.bUsuarioActivo.bperfil.ncodigo
If nperfil <> UtilConstantes.PERFIL_ADMINISTRADOR Then
    utilMensaje.muestraMensaje AutorizacionPerfilIncorrecto, UtilConstantes.ADMINISTRADOR
    Exit Sub
    End If
Set frmConfig.bparametro = bparametro
frmConfig.Show 1
End Sub
Public Sub abrirReservacion()
nperfil = bparametro.bUsuarioActivo.bperfil.ncodigo
If nperfil <> UtilConstantes.PERFIL_ADMINISTRADOR Then
    utilMensaje.muestraMensaje AutorizacionPerfilIncorrecto, UtilConstantes.ADMINISTRADOR
    Exit Sub
    End If
Set frmConfig.bparametro = bparametro
frmReservaMesa.Show 1
End Sub
Private Sub Class_Initialize()
Set lMesa = New lMesa
Set lPedido = New lPedido
Set lCategoria = New lCategoria
Set lResumen = New lResumen
Set lusuario = New lusuario
Set lSalon = New lSalon
End Sub
Private Sub Class_Terminate()
Set lMesa = Nothing
Set lPedido = Nothing
Set lCategoria = Nothing
Set lResumen = Nothing
Set lusuario = Nothing
Set lSalon = Nothing
End Sub

